/**
 *====================================================
 * 文件名称: BulkstockCollectionEntity.java
 * 修订记录：
 * No    日期				作者(操作:具体内容)
 * 1.    2015年9月23日			chenxy(创建:创建文件)
 *====================================================
 * 类描述：(说明未实现或其它不应生成javadoc的内容)
 */
package com.yuexunit.finance.bulkstock.entity;

import java.math.BigDecimal;
import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;

import com.yuexunit.finance.bulkstock.entity.lexicon.MeasurementEnum;
import com.yuexunit.jsonutil.JSON;

/**
 * @ClassName: BulkstockCollectionEntity
 * @Description: TODO(这里用一句话描述这个类的作用)
 * @author chenxy
 * @date 2015年9月23日 下午5:52:47
 */
@Entity
@Table(name = "FIN_BULKSTOCK_COLLECTION")
public class BulkstockCollectionEntity implements Cloneable {

	/** 商品价格收集ID */
	@Id
	@GeneratedValue
	@Column(name = "COLLECTION_ID")
	private Long collectionId;

	/** 单据号 */
	@Column(name = "COLLECTION_NUMBER")
	private String collectionNumber;

	/** 大宗类别ID */
	@Column(name = "CATEGORY_ID")
	private Long categoryId;

	/** 大宗商品ID */
	@Column(name = "BULKSTOCK_INFO_ID")
	private Long bulkstockInfoId;

	/** 商品类别 */
	@Column(name = "CATEGORY_NAME")
	private String categoryName;

	/** 商品名称 */
	@Column(name = "BULKSTOCK_NAME")
	private String bulkstockName;

	/** 商品编号 */
	@Column(name = "BULKSTOCK_NUMBER")
	private String bulkstockNumber;

	/** 规格型号 */
	@Column(name = "SPECIFICATION")
	private String specification;

	/** 计量类型 0:未知/1:体积/2:重量 */
	@Column(name = "MEASUREMENT")
	private MeasurementEnum measurement;

	/** 产地 */
	@Column(name = "ORIGIN")
	private String origin;

	/** 生产厂家 */
	@Column(name = "MANUFACTURER")
	private String manufacturer;

	/** 单位 */
	@Column(name = "UNIT")
	private String unit;

	/** 价格 */
	@Column(name = "PRICE")
	private BigDecimal price;

	/** 涨跌 */
	@Column(name = "RISE_FALL")
	private BigDecimal riseFall;

	/** 幅度 */
	@Column(name = "INCREASE")
	private BigDecimal increase;

	/** 币别 */
	@Column(name = "CURRENCY")
	private String currency;

	/** 汇率 */
	@Column(name = "EXCHANGE_RATE")
	private String exchangeRate;

	/** 所属区域类别 */
	@Column(name = "REGION_CATEGORY")
	private String regionCategory;

	/** 所属片区 */
	@Column(name = "REGION")
	private String region;

	/** 所属省份 */
	@Column(name = "PROVINCE")
	private String province;

	/** 所属城市 */
	@Column(name = "CITY")
	private String city;

	/** 所属区县 */
	@Column(name = "DISTRICT")
	private String district;

	/** 起始日期 */
	@Column(name = "BEGIN_D8")
	private Integer beginDate;

	/** 终止日期 */
	@Column(name = "END_D8")
	private Integer endDate;

	/** 采集日期 */
	@Column(name = "COLLECTION_D8")
	private Integer collectionDate;

	/** 采集人ID */
	@Column(name = "COLLECTOR_ID")
	private Long collectorId;

	/** 采集人 */
	@Column(name = "COLLECTOR")
	private String collector;

	/** 是否有效 0-无效;1-有效 */
	@Column(name = "ENABLED")
	private Boolean enabled;

	/** 创建时间 */
	@Column(name = "CREATE_DT")
	private Date createDateTime;

	/** 更新时间 */
	@Column(name = "UPDATE_DT")
	private Date updateDateTime;
	
	/** 数据来源ID */
	@Column(name = "DATA_SOURCE_ID")
	private Long dataSourceId;
	
	/** 数据来源 */
	@Column(name = "DATA_SOURCE")
	private String dataSource;

	public Long getDataSourceId() {
		return dataSourceId;
	}

	public void setDataSourceId(Long dataSourceId) {
		this.dataSourceId = dataSourceId;
	}

	public String getDataSource() {
		return dataSource;
	}

	public void setDataSource(String dataSource) {
		this.dataSource = dataSource;
	}

	public Long getCollectionId() {
		return collectionId;
	}

	public void setCollectionId(Long collectionId) {
		this.collectionId = collectionId;
	}

	public String getCollectionNumber() {
		return collectionNumber;
	}

	public void setCollectionNumber(String collectionNumber) {
		this.collectionNumber = collectionNumber;
	}

	public String getCategoryName() {
		return categoryName;
	}

	public void setCategoryName(String categoryName) {
		this.categoryName = categoryName;
	}

	public Long getBulkstockInfoId() {
		return bulkstockInfoId;
	}

	public void setBulkstockInfoId(Long bulkstockInfoId) {
		this.bulkstockInfoId = bulkstockInfoId;
	}

	public String getBulkstockName() {
		return bulkstockName;
	}

	public void setBulkstockName(String bulkstockName) {
		this.bulkstockName = bulkstockName;
	}

	public String getBulkstockNumber() {
		return bulkstockNumber;
	}

	public void setBulkstockNumber(String bulkstockNumber) {
		this.bulkstockNumber = bulkstockNumber;
	}

	public String getSpecification() {
		return specification;
	}

	public void setSpecification(String specification) {
		this.specification = specification;
	}

	public String getOrigin() {
		return origin;
	}

	public void setOrigin(String origin) {
		this.origin = origin;
	}

	public String getManufacturer() {
		return manufacturer;
	}

	public void setManufacturer(String manufacturer) {
		this.manufacturer = manufacturer;
	}

	public String getUnit() {
		return unit;
	}

	public void setUnit(String unit) {
		this.unit = unit;
	}

	public Long getCategoryId() {
		return categoryId;
	}

	public void setCategoryId(Long categoryId) {
		this.categoryId = categoryId;
	}

	public BigDecimal getPrice() {
		return price;
	}

	public void setPrice(BigDecimal price) {
		this.price = price;
	}

	public String getCurrency() {
		return currency;
	}

	public void setCurrency(String currency) {
		this.currency = currency;
	}

	public String getDistrict() {
		return district;
	}

	public void setDistrict(String district) {
		this.district = district;
	}

	public String getExchangeRate() {
		return exchangeRate;
	}

	public void setExchangeRate(String exchangeRate) {
		this.exchangeRate = exchangeRate;
	}

	public String getRegionCategory() {
		return regionCategory;
	}

	public void setRegionCategory(String regionCategory) {
		this.regionCategory = regionCategory;
	}

	public String getRegion() {
		return region;
	}

	public void setRegion(String region) {
		this.region = region;
	}

	public String getProvince() {
		return province;
	}

	public void setProvince(String province) {
		this.province = province;
	}

	public String getCity() {
		return city;
	}

	public void setCity(String city) {
		this.city = city;
	}

	public Integer getBeginDate() {
		return beginDate;
	}

	public void setBeginDate(Integer beginDate) {
		this.beginDate = beginDate;
	}

	public Integer getEndDate() {
		return endDate;
	}

	public void setEndDate(Integer endDate) {
		this.endDate = endDate;
	}

	public Integer getCollectionDate() {
		return collectionDate;
	}

	public void setCollectionDate(Integer collectionDate) {
		this.collectionDate = collectionDate;
	}

	public Long getCollectorId() {
		return collectorId;
	}

	public void setCollectorId(Long collectorId) {
		this.collectorId = collectorId;
	}

	public String getCollector() {
		return collector;
	}

	public void setCollector(String collector) {
		this.collector = collector;
	}

	public Boolean getEnabled() {
		return enabled;
	}

	public void setEnabled(Boolean enabled) {
		this.enabled = enabled;
	}

	public Date getCreateDateTime() {
		return createDateTime;
	}

	public void setCreateDateTime(Date createDateTime) {
		this.createDateTime = createDateTime;
	}

	public Date getUpdateDateTime() {
		return updateDateTime;
	}

	public void setUpdateDateTime(Date updateDateTime) {
		this.updateDateTime = updateDateTime;
	}

	public BigDecimal getRiseFall() {
		return riseFall;
	}

	public void setRiseFall(BigDecimal riseFall) {
		this.riseFall = riseFall;
	}

	public BigDecimal getIncrease() {
		return increase;
	}

	public void setIncrease(BigDecimal increase) {
		this.increase = increase;
	}

	public MeasurementEnum getMeasurement() {
		return measurement;
	}

	public void setMeasurement(MeasurementEnum measurement) {
		this.measurement = measurement;
	}

	@Override
	public String toString() {
		return JSON.toString(this);
	}

	public BulkstockCollectionEntity clone() {
		BulkstockCollectionEntity o = null;
		try {
			o = (BulkstockCollectionEntity) super.clone();
		} catch (CloneNotSupportedException e) {
			e.printStackTrace();
		}
		return o;
	}

}
